using UnityEngine;

/// <summary>
/// 游戏控制器示例脚本
/// 演示如何使用单例和状态机
/// </summary>
public class GameController : MonoBehaviour
{
    void Start()
    {
        // 访问单例实例
        GameManager gameManager = GameManager.Instance;
        
        // 输出当前状态
        Debug.Log("当前游戏状态: " + gameManager.GetCurrentGameState());
    }

    void Update()
    {
        // 检测按键输入来切换状态
        if (Input.GetKeyDown(KeyCode.Space))
        {
            GameManager.Instance.ChangeState(GameManager.GameState.Playing);
        }
        
        if (Input.GetKeyDown(KeyCode.P))
        {
            GameManager.Instance.ChangeState(GameManager.GameState.Paused);
        }
        
        if (Input.GetKeyDown(KeyCode.G))
        {
            GameManager.Instance.ChangeState(GameManager.GameState.GameOver);
        }
        
        if (Input.GetKeyDown(KeyCode.M))
        {
            GameManager.Instance.ChangeState(GameManager.GameState.MainMenu);
        }
    }
}